mysql

推荐列表 站点导航

当前位置:首页 > 数据库 > mysql >

如何通过SQL找出2个表里值不同的列的方法

来源:网络整理  作者:网络  发布时间:2020-12-07 23:11
以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。 Student_1 NAME AGE SCORE peter 26 100 jack 25 96 daniel 26 48 b...
以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。   Student_1   NAME AGE SCORE   peter 26 100   jack 25 96   daniel 26 48   bark 21 69   Student_2   NAME AGE SCORE   peter 26 89   jack 25 96   daniel 26 48   bark 21 69   方法一 -- NOT EXISTS:     复制代码 代码如下:     SELECT * FROM Student_1 S1 WHERE NOT EXISTS (SELECT * FROM Student_2 S2 WHERE S1.name = S2.name AND S1.age = S2.age AND S1.score = S2.score ) UNION ALL SELECT * FROM STUDENT_2 S2 WHERE NOT EXISTS (SELECT * FROM STUDENT_1 S1 WHERE S1.name = S2.name AND S1.age = S2.age AND S1.score = S2.score );   方法二 -- MINUS   复制代码 代码如下:     (SELECT * FROM Student_1 MINUS SELECT * FROM Student_2) UNION ALL (SELECT * FROM Student_2 MINUS SELECT * FROM Student_1)     方法三 -- HAVING GROUP BY   复制代码 代码如下:     SELECT DISTINCT name, age, score FROM ( SELECT * FROM Student_1 UNION ALL SELECT * FROM Student_2 )GROUP BY name, age, score HAVING COUNT(*)=1 ;

相关热词: 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/mysql/1208.shtml

最新文章
 这些文件如果在configure命 这些文件如果在configure命

时间:2021-01-22

说明在数据库崩溃时内存 说明在数据库崩溃时内存

时间:2021-01-22

破解极验(geetest)验证码 破解极验(geetest)验证码

时间:2021-01-22

今天这种代码阅读方法仍 今天这种代码阅读方法仍

时间:2021-01-22

 count(*) as cnt from sakila.fi count(*) as cnt from sakila.fi

时间:2021-01-22

 可能你注意到系统提示的 可能你注意到系统提示的

时间:2021-01-22

搭建环境与运行 搭建环境与运行

时间:2021-01-22

MySQL主从复制的常见拓扑 MySQL主从复制的常见拓扑

时间:2021-01-22

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

如何通过SQL找出2个表里值不同的列的方法

2020-12-07 编辑:网络

以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。   Student_1   NAME AGE SCORE   peter 26 100   jack 25 96   daniel 26 48   bark 21 69   Student_2   NAME AGE SCORE   peter 26 89   jack 25 96   daniel 26 48   bark 21 69   方法一 -- NOT EXISTS:     复制代码 代码如下:     SELECT * FROM Student_1 S1 WHERE NOT EXISTS (SELECT * FROM Student_2 S2 WHERE S1.name = S2.name AND S1.age = S2.age AND S1.score = S2.score ) UNION ALL SELECT * FROM STUDENT_2 S2 WHERE NOT EXISTS (SELECT * FROM STUDENT_1 S1 WHERE S1.name = S2.name AND S1.age = S2.age AND S1.score = S2.score );   方法二 -- MINUS   复制代码 代码如下:     (SELECT * FROM Student_1 MINUS SELECT * FROM Student_2) UNION ALL (SELECT * FROM Student_2 MINUS SELECT * FROM Student_1)     方法三 -- HAVING GROUP BY   复制代码 代码如下:     SELECT DISTINCT name, age, score FROM ( SELECT * FROM Student_1 UNION ALL SELECT * FROM Student_2 )GROUP BY name, age, score HAVING COUNT(*)=1 ;

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/mysql/1208.shtml

相关文章

风云图片

推荐阅读

返回mysql频道首页